package com.business.dashboard.service;

import com.business.dashboard.entity.AdminUser;
import java.util.List;

/**
 * 管理员用户服务接口
 * 
 * @author Claude
 * @since 2025-07-06
 */
public interface AdminUserService {

    /**
     * 获取所有管理员用户
     */
    List<AdminUser> getAllUsers();

    /**
     * 根据ID获取管理员用户
     */
    AdminUser getUserById(Long id);

    /**
     * 根据用户名获取管理员用户
     */
    AdminUser getUserByUsername(String username);

    /**
     * 创建管理员用户
     */
    AdminUser createUser(AdminUser user);

    /**
     * 更新管理员用户
     */
    AdminUser updateUser(AdminUser user);

    /**
     * 删除管理员用户
     */
    boolean deleteUser(Long id);

    /**
     * 更新用户状态
     */
    boolean updateUserStatus(Long id, Integer status);

    /**
     * 更新用户登录信息
     */
    boolean updateLoginInfo(Long id, String loginIp);

    /**
     * 检查用户名是否存在
     */
    boolean existsByUsername(String username);

    /**
     * 检查邮箱是否存在
     */
    boolean existsByEmail(String email);

}